// 封装与文章相关的api
import http from "@/utils/request";

// 发布新文章
// 请求体（FormData 格式）：
// 参数名	必选	类型	说明	格式
// title	是	string	文章标题	1-30 个字符
// cate_id	是	int	所属分类 Id	整数，最小值为 1
// content	是	string	文章内容	非空的字符串
// state	是	string	文章的发布状态	可选值为：已发布、草稿
// cover_img	是	blob二进制	文章封面	只能是图片文件
export const addArticleApi = (data) => {
  return http({
    url: '/my/article/add',
    method: 'post',
    data
  })
}

// 获取文章的列表数据
// pagenum	是	number	页码值	整数，最小值为 1
// pagesize	是	number	每页显示多少条数据	整数，最小值为 1
// cate_id	否	string	文章分类的 id	整数，最小值为 1
// state	否	string	文章的发布状态	可选值有：已发布、草稿
export const getArtListApi = (params) => {
  return http({
    url: '/my/article/list',
    method: 'get',
    params
  })
}

// 根据 id 删除文章数据
export const delArticleApi = (params) => {
  return http({
    url: '/my/article/info',
    method: 'delete',
    params
  })
}

// 根据 id 获取文章详情
// id	是	string	文章的 id，注意：这是一个 URL 查询参数
export const detailArticleApi = (params) => {
  return http({
    url: '/my/article/info',
    params
  })
}

// 根据 Id 更新文章信息
// 由于此接口涉及到文件上传的功能，因此提交的请求体，必须是 FormData 格式！
// id	是	number	文章的 id	整数，最小值为 1
// title	是	string	文章标题	长度为 1 - 30 的字符串
// cate_id	是	number	所属分类 id	整数，最小值为 1
// content	是	string	文章内容	非空字符串
// state	是	string	文章的发布状态	可选值为：已发布、草稿
// cover_img	否	blob二进制	文章封面	只能是图片文件。如果不更新封面，不需要提供此数据。
export const updateArticleApi = (data) => {
  return http({
    url: '/my/article/info',
    method: 'put',
    data
  })
}
